import request from '@/config/axios'

// ERP基础资料-材质资料 VO
export interface BaseMaterialVO {
  id: string // 材质编号
  materialName: string // 材质名称
  materialType: string // 材质类型
  materialTypeId: string // 材质类型id
  fluteType: string // 楞别
  layer: number // 层数
  density: number // 密度
  thickness: number // 厚度
  burstStrength: number // 耐破
  edgeCompression: number // 边压
  facePaper: string // 面纸
  flutePaper1: string // 瓦楞纸1
  corePaper1: string // 芯纸1
  flutePaper2: string // 瓦楞纸2
  corePaper2: string // 芯纸2
  flutePaper3: string // 瓦楞纸3
  innerPaper: string // 里纸
  supplierRemark: string // 供应商备注
  costPrice: number // 成本单价
  densityUnit: string // 密度单位
  stockWarning: boolean // 是否库存预警
  stockLowerLimit: number // 库存下限
  stockUpperLimit: number // 库存上限
  facePaperName: string // 面纸名称
  flutePaper1Name: string // 瓦楞纸1名称
  flutePaper2Name: string // 瓦楞纸2名称
  flutePaper3Name: string // 瓦楞纸3名称
  innerPaperName: string // 里纸名称
  flutePaper1FluteType: string // 瓦楞纸1坑型
  flutePaper2FluteType: string // 瓦楞纸2坑型
  flutePaper3FluteType: string // 瓦楞纸3坑型
  productionCorrespondingName: string // 生管对应名称
  configuration: string // 配置
  isBaseMaterial: boolean // 是否为基础材质
  subject: string // 科目
  isDisabled: boolean // 是否停用
  productionMaterialCorrespondence2: string // 生管材质对照2
  productionMaterialCorrespondence3: string // 生管材质对照3
  productionMaterialCorrespondence4: string // 生管材质对照4
  productionMaterialCorrespondence5: string // 生管材质对照5
  productionMaterialCorrespondence6: string // 生管材质对照6
  productionMaterialCorrespondence7: string // 生管材质对照7
  facePaperWeight: number // 面纸克重
  flutePaper1Weight: number // 瓦楞纸1克重
  corePaper1Weight: number // 芯纸1克重
  flutePaper2Weight: number // 瓦楞纸2克重
  corePaper2Weight: number // 芯纸2克重
  flutePaper3Weight: number // 瓦楞纸3克重
  innerPaperWeight: number // 里纸克重
  defaultStorageUnit: string // 默认库存单位
  substituteMaterial: string // 代用材质
}

// ERP基础资料-材质资料 API
export const BaseMaterialApi = {
  // 查询ERP基础资料-材质资料分页
  getBaseMaterialPage: async (params: any) => {
    return await request.get({ url: `/erp/base-material/page`, params })
  },

  // 查询ERP基础资料-材质资料详情
  getBaseMaterial: async (id: number) => {
    return await request.get({ url: `/erp/base-material/get?id=` + id })
  },

  getBaseMaterialType: async () => {
    return await request.get({ url: `/erp/base-material-type/list_all`})
  },
  
  // 新增ERP基础资料-材质资料
  createBaseMaterial: async (data: BaseMaterialVO) => {
    return await request.post({ url: `/erp/base-material/create`, data })
  },

  // 修改ERP基础资料-材质资料
  updateBaseMaterial: async (data: BaseMaterialVO) => {
    return await request.put({ url: `/erp/base-material/update`, data })
  },

  // 删除ERP基础资料-材质资料
  deleteBaseMaterial: async (id: number) => {
    return await request.delete({ url: `/erp/base-material/delete?id=` + id })
  },

  // 导出ERP基础资料-材质资料 Excel
  exportBaseMaterial: async (params) => {
    return await request.download({ url: `/erp/base-material/export-excel`, params })
  },

// ==================== 子表（ERP基础资料-材质信息参数） ====================

  // 获得ERP基础资料-材质信息参数列表
  getBaseMaterialParametersListByMaterialId: async (materialId) => {
    return await request.get({ url: `/erp/base-material/base-material-parameters/list-by-material-id?materialId=` + materialId })
  },

// ==================== 子表（ERP基础资料-材质信息备注） ====================

  // 获得ERP基础资料-材质信息备注列表
  getBaseMaterialRemarksListByMaterialId: async (materialId) => {
    return await request.get({ url: `/erp/base-material/base-material-remarks/list-by-material-id?materialId=` + materialId })
  }
}
